package hui.com.dao;

import hui.com.model.entity.sales.SalesEntity;
import hui.com.model.entity.sales.SalesHistoryEntity;
import hui.com.model.req.sales.RequestGetLikeSales;
import hui.com.model.res.sales.ResponseGetSale;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SalesDao {
    Boolean salesADD(@Param("sales")SalesEntity sales);

    /**
     * 总数
     * @return 总数
     */
    Integer salesCount();

    /**
     * 获取单个数据
     * @param sales 根据code查询
     * @return 单个数据
     */
    SalesEntity getSales(@Param("sales")SalesEntity sales);

    /**
     * 集合数据
     * @param sales 模糊搜寻
     * @return 集合sales
     */
    List<ResponseGetSale> getListSales(@Param("sales") RequestGetLikeSales sales);
    /**
     * 集合数据页数
     * @param sales 模糊搜寻
     * @return 集合sales
     */
    Integer getListSalesPage(@Param("sales") RequestGetLikeSales sales);
    /**
     * 获取 可以绑定的预测销售表单
     * @return
     */
    List<ResponseGetSale> salesADD_getSalesForecastList(@Param("sales")RequestGetLikeSales sales);

    /**
     * 修改销售订单
     * @param sales 修改销售订单
     * @return true/false
     */
    Boolean updateSales(@Param("sales")SalesEntity sales);

    /**
     * 历史记录新增
     */
    Boolean salesHistoryADD(@Param("sales")SalesEntity sales);

    /**
     * 历史记录查询，根据code,
     */
    List<ResponseGetSale> getSalesHistoryList(@Param("sales")SalesEntity sale);
}
